/*
Copyright [2023] [fuwen_soft]
*/
package vip.xiaonuo.modular.xygenealogy.service;

import com.baomidou.mybatisplus.extension.service.IService;
import vip.xiaonuo.core.pojo.page.PageResult;
import vip.xiaonuo.modular.xygenealogy.entity.XyGenealogy;
import vip.xiaonuo.modular.xygenealogy.form.XyGenealogyForm;
import vip.xiaonuo.modular.xygenealogy.param.XyGenealogyParam;
import vip.xiaonuo.modular.xygenealogy.vo.GroupGenealogyVo;

import java.util.List;

/**
 * 谱文service接口
 *
 * @author yanwei
 * @date 2023-05-05 15:44:28
 */
public interface XyGenealogyService extends IService<XyGenealogy> {

    /**
     * 查询谱文
     *
     * @author yanwei
     * @date 2023-05-05 15:44:28
     */
    PageResult<XyGenealogy> page(XyGenealogyParam xyGenealogyParam);

    /**
     * 谱文列表
     *
     * @author yanwei
     * @date 2023-05-05 15:44:28
     */
    List<XyGenealogy> list(XyGenealogyParam xyGenealogyParam);

    /**
     * 添加谱文
     *
     * @author yanwei
     * @date 2023-05-05 15:44:28
     */
    void add(XyGenealogyParam xyGenealogyParam);

    /**
     * 删除谱文
     *
     * @author yanwei
     * @date 2023-05-05 15:44:28
     */
    void delete(List<XyGenealogyParam> xyGenealogyParamList);

    /**
     * 编辑谱文
     *
     * @author yanwei
     * @date 2023-05-05 15:44:28
     */
    void edit(XyGenealogyParam xyGenealogyParam);

    /**
     * 查看谱文
     *
     * @author yanwei
     * @date 2023-05-05 15:44:28
     */
     XyGenealogy detail(XyGenealogyParam xyGenealogyParam);

    /**
     * 导出谱文
     *
     * @author yanwei
     * @date 2023-05-05 15:44:28
     */
     void export(XyGenealogyParam xyGenealogyParam);

    void genealogySave(XyGenealogyForm xyGenealogyForm);

    List<GroupGenealogyVo> groupGenealogyList(String logyId);
}
